Software-application initiation

ABSTRACT

Disclosed are methods and apparatus for triggering (i.e., initiating, launching, or running) a software application (e.g., an interactive game application) or other computer program or application on a user device (e.g., a computer, etc.) based on multimedia content being provided to (e.g., displayed on) a different user device (e.g., a different computer, a television, etc.). The methods may comprise displaying, using a first device, multimedia content. A multimedia-analysis process may then be performed to determine an attribute of the multimedia content being displayed. These attributes may be used to acquire (e.g., select or produce) a software application comprising one or more elements that relate to the multimedia content. The software application may then be launched (i.e., triggered, initiated, or run) on a second device, the second device being different from the first device.

TECHNICAL FIELD

The present disclosure is related to initiating software applications.

BACKGROUND

In the field of computer or video game development and marketing,providing, to consumers computer or video games that relate tomultimedia content (e.g., television programs) that those consumers areconsuming, or have recently consumed, tends to be difficult.

In particular, synchronizing computer or video games with TV programsthat are being broadcast or have recently been broadcast tends to bedifficult. Also, the assembling of a community of game players formultiplayer gameplay of such games tends to be difficult.

Furthermore, authoring costs associated with developing a game, andcosts associated with the marketing of games to a large community ofgame players, tend to be high. In addition to, and separate from,development and marketing costs, for computer or video games that relateto multimedia content, costs associated with synchronizing those gamesto the related multimedia content and assembling a community of gameplayers for multiplayer gameplay tend to be high.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

While the appended claims set forth the features of the presenttechniques with particularity, these techniques, together with theirobjects and advantages, may be best understood from the followingdetailed description taken in conjunction with the accompanying drawingsof which:

FIG. 1 is a schematic illustration (not to scale) showing an examplenetwork in which an embodiment of a method of initiating an applicationon a user device is implemented; and

FIG. 2 is a process flow chart showing certain steps of an embodiment ofa method of initiating an application on a user device.

DETAILED DESCRIPTION

Turning to the drawings, wherein like reference numerals refer to likeelements, techniques of the present disclosure are illustrated as beingimplemented in a suitable environment. The following description isbased on embodiments of the claims and should not be taken as limitingthe claims with regard to alternative embodiments that are notexplicitly described herein.

Embodiments of the present methods, systems, and apparatus trigger(i.e., initiate, launch, or run) a game, or other computer program orapplication, on a user device (e.g., a computer, etc.) based onmultimedia content being provided to (e.g., displayed on) a differentuser device (e.g., a different computer, a television etc.).

Apparatus for implementing any of the below described arrangements, andfor performing any of the below described method steps, may be providedby configuring or adapting any suitable apparatus, for example one ormore computers or other processing apparatus or processors, or byproviding additional modules. The apparatus may comprise a computer, anetwork of computers, or one or more processors, for implementinginstructions and using data, including instructions and data in the formof a computer program or plurality of computer programs stored in or ona machine-readable storage medium such as computer memory, a computerdisk, ROM, PROM, etc., or any combination of these or other storagemedia.

It should be noted that certain of the process steps depicted in thebelow described process flowcharts may be omitted or such process stepsmay be performed in an order differing from that presented below andshown in those process flowcharts. Furthermore, although all the processsteps have, for convenience and ease of understanding, been depicted asdiscrete temporally-sequential steps, nevertheless some of the processsteps may in fact be performed simultaneously or at least overlapping tosome extent temporally.

Referring now to the Figures, FIG. 1 is a schematic illustration (not toscale) showing an example network 1 in which an embodiment of a methodof initiating a software application (hereinafter referred to as an“application”) on a user device is implemented. This method is describedin more detail below with reference to FIG. 2. In this embodiment, theapplication to be initiated is a game. The terminology “initiate” isused herein to refer to the starting, launching, triggering, etc., ofthat program on a user device.

This example network 1 comprises a content provider 2, a set-top box 4,a television (TV) 6, the Internet 8, a game-services module 10, one ormore game providers 12, a tablet computer 14, and a user 16.

The content provider 2 provides multimedia content (e.g., TV programs,movies, radio, etc.) to the set-top box 4 such that the providedmultimedia content may be displayed on the TV 6 for consumption by theuser 16. The content provider 2 may also provide services related tothat multimedia content to the set-top box 4 for use by the user 16. Theconnection between the content provider 2 and the set-top box 4 may beany appropriate connection, e.g., via a cable-TV network or satellite-TVnetwork.

The set-top box 4 may receive multimedia content from the contentprovider 2 and display, on the TV 6, that multimedia content to the user16. In this embodiment, the set-top box 4 comprises a media-analysismodule 5 that is configured to perform one or more media-analysisprocesses on the content received by the set-top box 4 from the contentprovider 2. These media-analysis processes may be performed to analyzethe multimedia content that is displayed to the user 16. Themultimedia-analysis processes performed by the media-analysis module 5and the purpose of such processes is described in more detail below withreference to FIG. 2. In other embodiments, the functionality provided bythe media-analysis module 5 may be provided by a different module thatmay be, at least in part, remote from the set-top box 4. For example,multimedia-analysis processes may be performed by a media-analysismodule that is located in the TV 6, or is an out-of-band module, etc.

In addition to being connected to the content provider 2 and the TV 6,the set-top box 4 may be connected (via the Internet 8 or in some otherway) to the game-services module 10 such that information may be sentfrom the set-top box 4 to the game-services module 10 (e.g., an outputof the media-analysis processes performed by the set-top box 4 may besent from the set-top box 4 to the game-services module 10) and viceversa.

The TV 6 is a conventional television which, in operation, may displaythe multimedia content (e.g., TV programs) provided by the contentprovider 2 (and received by the TV 6 from the set-top box 4).

In other embodiments, multimedia content provided by the contentprovider 2 may be consumed by the user 16 (e.g., displayed to the user16) using a different type of end-user device (i.e., instead of or inaddition to the set-top box 4 communicatively coupled to the TV 6). Forexample, in other embodiments the user 16 may view TV programs providedby the content provider 2 using a desktop personal computer, a laptopcomputer, a tablet computer 14, a mobile station, an entertainmentappliance, a wireless phone, a smartphone, a netbook, a game console,etc.

The functionality provided by the game-services module 10 is describedin more detail below with reference to FIG. 2. The game-services module10 may be connected, e.g., via the Internet 8, to the set-top box 4 suchthat information sent from the set-top box 4 may be received by thegame-services module 10 and vice versa. Also, the game-services module10 may be connected, e.g., via the Internet 8, to the tablet computer 14such that information may be sent between the game-services module 10and the tablet computer 14. The game-services module 10 may beconfigured to process information received by it from the set-top box 4and from the tablet computer 14 as described in more detail below withreference to FIG. 2. Also, the game-services module 10 is connected tothe one or more game providers 12 such that information (e.g., digitalgames provided by the game providers 12) may be sent from the gameproviders 12 to the game-services module 10 and vice versa. Thegame-services module 10 may comprise a database 11 in which informationmay be stored.

The game providers 12 are providers of digital games that may be playedby consumers (e.g., the user 16). Some or all of the games provided bygame providers may be suitable for playing on the tablet computer 14 orusing the set-top box 4 and TV 6. Some or all of the games provided bygame providers 12 may be suitable for playing on any or all of thefollowing devices: a desktop personal computer, a laptop computer, atablet computer 14, a mobile station, an entertainment appliance, aset-top box 4 communicatively coupled to a television 6, a wirelessphone, a smartphone, a netbook, and a game console.

The game providers 12 may be connected to the game-services module 10such that the game-services module 10 may receive or retrieve a gamefrom the game providers 12. The received game may then be distributed bythe game-services module 10 (e.g., via the Internet 8) to the tabletcomputer 14. The user 16 may play the game that is received by thetablet computer 14 by using the tablet computer 14.

A game may be any appropriate type of game. For example, a game may be apuzzle game, a word-based game, a skill game, a multi-player game, asingle-player game, etc. A game provided by a game provider 12 mayrelate to specific multimedia content (e.g., a specific TV program ormovie). Alternatively a game provided by a game provider 12 may be a“generic game” that does not relate to any specific multimedia content.

A game provided by a game provider 12 may comprise one or more elementsor portions that may be dynamically filled using information ormultimedia content. For example, a generic game (i.e., a game that doesnot relate to specific multimedia content) may have an element intowhich may be included or inserted media content or information relatingto specific multimedia content. Thus, by including or insertinginformation or content relating to specific multimedia (e.g., a specificTV program or movie) into a generic game, a game that relates to thatspecific multimedia may be produced.

An example of such a generic game may be a puzzle game in which an imagehas been “cut up” into a plurality of image pieces. These pieces may bedisplayed to a player in an incorrect arrangement. The object of thegame is for a player to re-arrange the image pieces to recreate theoriginal image. For this game, an image relating to specific multimedia(e.g., a screenshot taken from a specific TV show) may be used as theimage that is “cut up” into the image pieces. Thus, a puzzle gamerelating to that specific multimedia may be produced.

A further example of such a generic game is a word search game in whichan array of letters and a predefined list of words is presented to theplayer. The object of the game is for the player to find, within thearray of letters, the words in the list. For this game, words relatingto the specific multimedia (e.g., closed caption or subtitle words thatmay have been extracted from the specific multimedia) may be used as thewords in the list. Thus, a word search game relating to that specificmultimedia may be produced.

The tablet computer 14 is a conventional tablet computer. The tabletcomputer 14 is coupled to the game-services module 10 via, e.g., theInternet 8 (e.g., via Wi-Fi Internet access). This coupling is such thatinformation may be sent from the tablet computer 14 to the game-servicesmodule 10 and vice versa. In other embodiments, a different type ofdevice may replace the tablet computer 14, e.g., a different type ofcomputer (e.g., a laptop computer or a “smartphone”). The tabletcomputer 14 may comprise a game container 18 and a touch-screen display20.

The game container 18 may contain one or more games that may be playedby the user 16 using the tablet computer 14. Alternatively or inaddition, the game container 18 may contain references to one or moregames that may be used (e.g., by the tablet computer 14 or by thegame-services module 10) to retrieve the referenced games such that theymay be played by the user 16 using the tablet computer 14. In otherembodiments, the game container 18 may be external to the tabletcomputer 14. (For example, the game container 18 may be connected to thetablet computer 14 via the Internet 8.)

The user 16 may be a user or operator of the TV 6 and of the tabletcomputer 14. For example, the user 16 play a game (e.g., a game storedin the game container 18) using the tablet computer 14. Also, the user16 may watch, using the TV 6, the multimedia content provided by thecontent provider 2.

FIG. 2 is a process flow chart showing certain steps of the process ofperformed by the entities in the network 1.

At step s2, the user 16 may select one or more of the games provided bythe game providers 12. The user 16 may select the game or games he maywish to play at a future time.

For example, the game-services module 10 may compile a list of gamesprovided by the game providers 12. This list of available games may thenbe provided by the game-services module 10 to the tablet computer 14(e.g., via the Internet 8) for display, using the display 20 of thetablet computer 14, to the user 16. The user 16 may then select one ormore of the displayed games. The selection of a game by the user 16 maycomprise the user 16 purchasing the game or providing information (e.g.,profile information or preference information) that may used, forexample, by the game-services module 10.

At step s4, the games selected by the user 16 are downloaded by thetablet computer 14. The downloaded games may be stored by the gamecontainer 18.

At step s6, the tablet computer 14 may inform the game-services module10 which of the games have been downloaded and stored in the gamecontainer 18. In other words, the tablet computer 14 may register withthe game-services module 10 which games are stored in the game container18 of the tablet computer 14. This may, for example, be performed by thegame container 18 providing details of the stored games to thegame-services module 10.

At step s7, the game-services module 10 may store, e.g., in the database11, details of the games stored by the game container 18. Thisinformation may be stored alongside information by which the gamecontainer 18 may be identified. Thus, for a plurality of game containers18 located on a plurality of different end-user devices, thegame-services module 10 may store, in the database 11, details of whichgames are stored in which game containers 18.

At step s8, the content provider 2 provides multimedia content (e.g., TVprograms, movies, radio, etc) to the set-top box 4. The multimediacontent may be sent in any appropriate format, for example, themultimedia content may be encoded in an appropriate transport stream.

At step s10, the set-top box 4 may process the received multimediacontent and send the processed information to the TV 6. The processingperformed by the set-box 4 at step s10 may be any appropriate processingsuch that the processed multimedia content sent to the TV 6 isdisplayable by the TV 6. For example, the set-top box 4 may decode atransport stream received from the content provider 2 and send thedecoded multimedia content to the TV 6.

At step s12, the TV 6 displays the multimedia content. Thus, the user 16may view the multimedia content on the TV 6.

At step s14, the media-analysis module 5 may perform one or moremedia-analysis processes on the multimedia content that is received byit from the content provider 2 (or on metadata associated with thatmultimedia content). The media-analysis processes may be performed toidentify what is being displayed to the user 16, i.e., what multimediacontent is being consumed by the user 16. Alternatively, themedia-analysis processes may be performed to determine an identifier forwhat is being displayed to the user 16 (i.e., information that may beused, e.g., by the game-services module 10, to identify what is beingdisplayed to the user 16). For example, the media-analysis processes maybe performed to identify the specific TV program or movie being watchedby the user 16. Any appropriate media-analysis processes may be used.For example, the media-analysis module 5 may analyze programmaticmetadata associated with the multimedia content to identify themultimedia content. Also for example, the media-analysis module 5 mayanalyze a closed-caption file or an audio file of the multimedia contentto identify the multimedia content.

In other embodiments, the functionality provided by the media-analysismodule 5 may be provided by one or more different modules, some or allof which may be located in a location different from that of themedia-analysis module 5 of this embodiment. For example, analysis of themultimedia content may be performed by a module located in the TV 6.Alternatively, for example, the tablet computer 14 or other user devicemay comprise a module that is capable of discerning what the user 16 iswatching on the TV 6 (e.g., by analyzing audio of the multimedia contentor by detecting “watermarks” displayed on the TV 6).

At step s16, an output of the media-analysis module 5 (e.g., an identityof, or identifier for, the multimedia content) may be sent to thegame-services module 10 (e.g., by the set-top box 4 via the Internet 8).

At step s18, the game-services module 10 may process the received outputof the media-analysis module 5. The game-services module 10 may alsoprocess the information specifying which games have been downloaded andstored in the game container 18 (that may have been stored in thedatabase 11 at step s7).

The processing performed by the game-services module 10 at step s18 maybe performed to determine one or more games that may be suitable orappropriate for initiation. This processing may be performed as follows.Firstly, using the identity of, or identifier for, the multimediacontent, one or more game types may be identified. This process ofidentifying game types may comprise utilizing information specified bythe content provider 2 (e.g., the content provider 2 may specify thatonly certain types of games, e.g., puzzle games, may be initiated usinghis content). Also, the process of identifying game types may compriseutilizing information specified by the game providers 12 (e.g., the gameproviders 12 may specify that their games may only be initiated usingcertain types of multimedia content, e.g., multimedia content providedby certain content providers). Secondly, from those games that arestored in the game container 18 (i.e., that the tablet computer 14 hasregistered with the game-services module 10), the games that are of theidentified types may be identified. Thus, at step s18, the game-servicesmodule 10 may identify, from the games stored on the game container 18,one or more games that may be initiated for the multimedia content thatis being displayed (or has recently been displayed) to the user 16. Inother embodiments, one or more games stored within the game container 18may be identified in a different appropriate way.

At step s20, from the games identified at step s18, the game-servicesmodule 10 may select a game for initiation on the tablet computer 14.This selection of a game may be made in accordance with any appropriatecriteria (for example criteria specified in a “game initiation policy”).

Thus, by performing steps s18 and s20, the game-services module 10 mayuse information specifying what the user 16 is watching to select, fromthe games stored on the game container 18 of the tablet computer 14, agame for initiation on the tablet computer 14. In other embodiments, adifferent appropriate process may be performed by the game-servicesmodule 10 to select a game for initiation.

At step s21, information specifying which game has been selected may besent from the game-services module 10 to the game container 18, i.e.,the game container 18 may be informed which of the games stored by thegame container 18 has been selected for initiation.

At step s22, the game-services module 10 may acquire any information ormedia content that is to be used by the selected game. For example, ifthe selected game comprises one or more elements or portions that may bedynamically filled using information or multimedia content, then thegame-services module 10 may acquire that information or multimediacontent. The acquired information or media content may relate to thespecific multimedia content that is displayed to the user 16 at steps12. The information or media content may be acquired in any appropriateway, for example, the information or media content may be retrieved fromany appropriate source, e.g., from the set-top box 4. For example, ifthe selected game is a generic game comprising an element into which maybe inserted media content or information that is related to the specificmultimedia content being consumed by the user 16 (e.g., a screen-shot orother image taken from the displayed multimedia content or informationextracted from the closed caption of the displayed multimedia content),then the game-services module 10 may retrieve that information.

The game-services module 10 may identify what information or multimediacontent is to be acquired for the selected game. Alternatively, the gamecontainer 18 may specify to the game-services module 10 what informationor multimedia content, or what type of information or multimediacontent, is to be acquired for the selected game.

At step s23, any information retrieved (at step s22) by thegame-services module 10 for inclusion in the game selected at step s20may be included or inserted in that game. This step may be performed,for example, by the game-services module 10 sending the information ormedia content that was acquired at step s22 to the game container 18,and the game container 18 inserting or including the receivedinformation or media content into the selected game (which is stored inthe game container 18). In other embodiments, this step of including theacquired information may be performed in a different way, e.g., by adifferent entity.

At step s24, if the selected game is a multi-player game, other users ofclient computing devices (e.g., tablet computers, smartphones, etc.) maybe identified as potential additional players of the selected game. Thismay be performed using any appropriate process, e.g., aservice-discovery process. For example, any other users who are alsowatching the same multimedia content as the user 16 and who have adevice upon which the selected game has also been downloaded may beselected as potential additional players of the selected game. Also, theselection of potential additional game players may comprise analyzinguser analytics, metadata relating to the multimedia content beingconsumed, etc. This may be performed, for example, to identify fans ofthe associated multimedia content or of the selected game. Also theselection of potential additional game players may comprise selecting,as a potential additional game player, one or more members of a socialnetwork of the user 16. Thus, at step s24 a community of potentialgame-players may be assembled.

At step s26, the selected game may be initiated on the tablet computer14. The initiated game may include any multimedia content or informationincluded in it at step s23.

In certain embodiments, the selected game may be initiated (i.e.,launched or started) automatically by the game container 18. In otherembodiments, the selected game may be initiated automatically inresponse to the tablet computer 14 receiving an “initiate game”instruction, e.g., from the game-services module 10. In otherembodiments, the selected game may be initiated only after the user 16has given his permission for that game to be initiated on the tabletcomputer 14. For example, a message asking whether the selected gameshould be initiated on the tablet computer 14 may be displayed, e.g., onthe display 20 or on the TV 6, to the user 16. The user 16 may thenallow the game to be initiated on the tablet computer 14.

The initiation (i.e., launching or triggering) of the game may besynchronized with a particular portion of the associated multimediacontent. For example, a game associated with a TV program may beinitiated when a particular event in the TV program occurs.Alternatively, the initiation of the game may be “skewed” relative tothe associated content. For example, a game associated with a TV programmay be initiated as soon as that TV program has ended or during acommercial break, etc.

If the selected game is a multi-player game, then the selected game mayalso be initiated on the client computing devices identified at steps24. Thus, a multiplayer game may be launched.

At step s28, the user 16 may play the initiated game on the tabletcomputer 14. The initiated game may comprise elements from themultimedia content that the user 16 is consuming, or has recentlyconsumed, using the TV 6.

At step s30, information relating to the user's playing of the initiatedgame may be provided from the tablet computer 14 to the game-servicesmodule 10. This information may, for example, comprise informationspecifying whether or not the user 16 allowed the game to be initiatedon the tablet computer 14, for how long the user 16 played the game,whether the user 16 completed the game, the specific multimedia the gamewas played in relation to, etc. This information may, for example, bestored by the game-services module 10, e.g., in the database 11. Thisinformation may, for example, be used by the game-services module 10when selecting games for the user 16 at a future time. For example, thegame-services module 10 may use the information received at step s30 todetermine the user's favorite types of games (with respect to certaintypes of multimedia content) or what multimedia content the games thatthe user 16 played were related to. When, at a future time, thegame-services module 10 selects games for the user 16 to play, thegame-services module 10 may take into account what the user's favoritetypes of games are.

Thus, an embodiment of a method of initiating an application on a userdevice is provided.

The above described system and method advantageously tend to provide a“discovery” capability. In other words, it tends to be possible for theabove system, using media-analysis processes, to discover whatmultimedia content (e.g., what TV program) a user is consuming or hasrecently consumed. This knowledge may then be used in a game-selectionprocess. Also, this knowledge may be used to, in effect, customize ageneric game for a certain user. Furthermore, this discovery process isadvantageously separate and distinct from the process of gamedevelopment.

The discovery capability further facilitates the assembly of a communityof game players for multiplayer gameplay. For example, users who it isdiscovered are watching a particular TV show tend to be more likely toplay a multiplayer game related to that TV show than users who are notwatching, or have not watched, that TV show. This discovery capabilitytends to allow for the discovery of localized devices (e.g., on a localarea network) as well as wide-area network (e.g.,Internet-connected/cloud) based devices.

The above described system and method advantageously tend to provide a“pre-screening” or “filtering” capability. Such a capabilityadvantageously tends to facilitate in the assembly of a community ofgame players for multiplayer gameplay. For example, users may befiltered depending upon their game-playing habits, personal preferences,profile information, and TV viewing habits. This may be performed toidentify users that would most likely be interested in playingmultiplayer games relating to certain multimedia content. Furthermore,the provided filtering capability tends to provide that such an assemblyof a community of game players for multiplayer gameplay may be performedquickly (e.g., so that a multiplayer game may be initiated or launchedwhilst the multimedia content to which the game is related is beingbroadcast to, or consumed by, the users, or shortly thereafter).Furthermore, this filtering process is advantageously separate anddistinct from the process of game development.

The above described system and method advantageously tend to provide“call-to-action” games to users (i.e., game that may urge a user to playthem straight away). The games may be automatically initiated on auser's computing device, e.g., whilst the user is consuming multimediacontent or shortly afterwards. Furthermore, the games provided by theabove described system and method may advantageously be related to themultimedia content that the user is consuming or has recently consumed.Thus, the “brand” of the multimedia that the user is consuming or hasrecently consumed may be supported (i.e., strengthened) by theassociated game.

Furthermore, the above described system and method tend to provide thatgames relating to multimedia content that the user is consuming, or hasrecently consumed, can be dynamically created. For example, the systemmay discern what the user is consuming and create or produce a game thatis related to the specific multimedia that the user is consuming. Thismay be performed by either selecting a game that is directly related towhat the user is consuming or by including in a generic game elementsthat relate to what the user is consuming.

The above described system and method may advantageously provide thatthe games provided to a user (e.g., by initiating that game on acomputing device of that user) relate to multimedia content beingconsumed (or having been recently consumed) by that user. In particular,a game initiated on a secondary client device (e.g., a tablet computer)may relate to (e.g., may include information extracted from) multimediacontent that is being consumed by a user on a primary device (e.g., aTV). Thus, content being viewed by a user may be utilized (e.g., in theform of image data or program metadata) to trigger call-to-action gamesthat can reinforce or augment branding present on the primary videoscreen.

The above described method and apparatus advantageously tend to reducecosts associated with synchronizing games with multimedia content (e.g.,TV programs) to which they relate. Also costs associated with assemblinga community for multiplayer gameplay of those games tend to be reduced.

In the above embodiments, the application initiated on the tabletcomputer is a game. However, in other embodiments, a different type ofapplication (e.g., a different type of computer program, etc.) may beinitiated. For example, the application may be an advertisement thatmay, for example, comprise user-interactive elements. The different typeof application may have included in it information extracted from thedisplayed multimedia content.

The application may be interstitial relative to the multimedia contentto which it relates. In other words, the application may relate only torelatively small portions of the multimedia content as opposed to themultimedia content as whole. Also, the application may be a peer-to-peerapplication (or may comprise peer-to-peer elements). Also, thecall-to-action element of the application may have a relativelyshort-duration so that any applications initiated for a user tend torelate to multimedia being consumed, or having been recently consumed,by that user.

In the above embodiments, the game-services module may optionallyinteract with a Digital Rights Management module (e.g., supplied by orcontrolled by a content studio or provider) to confirm possiblelicensing of certain specific segments of media content for use withcall-to-action gaming.

In view of the many possible embodiments to which the principles of thepresent discussion may be applied, it should be recognized that theembodiments described herein with respect to the drawing figures aremeant to be illustrative only and should not be taken as limiting thescope of the claims. Therefore, the techniques as described hereincontemplate all such embodiments as may come within the scope of thefollowing claims and equivalents thereof.

We claim:
 1. A method of launching or running an interactive gamingsoftware application, the method comprising: displaying, by a firstdevice including one or more processors, multimedia content;determining, by a media-analysis module of the first device, one or moreattributes displayed within the multimedia content presented by thefirst device to identify an interactive gaming application to launch ona second device that is in communication with the first device;selecting, by a service module of the first device, the interactivegaming application based on the determined one or more attributesdisplayed within the multimedia content; transmitting, by the servicemodule of the first device and over a communications network, aninstruction that automatically launches the selected interactive gamingapplication on the second device, wherein the second device comprisesone or more processors, and wherein the selected interactive gamingsoftware is launched on the second device when a particular portion ofthe multimedia content is displayed by the first device; and modifying,by the service module of the first device, the interactive gamingapplication executing at the second device to incorporate content fromthe multimedia content displayed by the first device into theinteractive gaming application.
 2. A method according to claim 1 whereinthe selected interactive gaming application is an interactive gameprogram that may be played, using the second device.
 3. A methodaccording to claim 1 further comprising transmitting the instructionthat automatically launches the selected interactive gaming applicationon the second device such that a user of the second device may interactwith the selected interactive gaming application using the seconddevice.
 4. A method according to claim 1, wherein the interactive gamingapplication is selected depending upon one or more factors selected fromthe group comprising: preferences or criteria specified by a user of thesecond device, interactions between a user of the second device and oneor more software applications that have previously been launched or runon the second device, preferences or criteria specified by a provider ofthe multimedia content, and preferences or criteria specified by aprovider of the software application.
 5. A method according to claim 1,further comprising: acquiring information relating to the multimediacontent; and including the acquired information relating to themultimedia content into the selected interactive gaming softwareapplication.
 6. A method according to claim 5 wherein acquiringinformation relating to the multimedia content comprises extracting thatinformation from either the multimedia content displayed or metadataassociated with the multimedia content displayed.
 7. A method accordingto claim 1 wherein the one or more attributes comprise metadataassociated with the multimedia content displayed using the first device.8. A method according to claim 1 further comprising providing, by thesecond device, information relating to an interaction with the launchedinteractive gaming application.
 9. A method according to claim 1 whereinthe multimedia content comprises video.
 10. A method according to claim9 wherein the multimedia content is a television program.
 11. A methodaccording to claim 1 wherein the first device is selected from the groupconsisting of: a desktop personal computer, a laptop computer, a tabletcomputer, a mobile station, an entertainment appliance, a set-top boxcommunicatively coupled to a television, a television, a wireless phone,a smartphone, a netbook, and a game console.
 12. A method according toclaim 1 wherein the second device is selected from the group consistingof: a desktop personal computer, a laptop computer, a tablet computer, amobile station, an entertainment appliance, a set-top boxcommunicatively coupled to a television, a television, a wireless phone,a smartphone, a netbook, and a game console.
 13. A method according toclaim 1 wherein: the selected software interactive gaming application isan interactive game program that may be simultaneously played by aplurality of players using respective devices; the method furthercomprising: identifying each of the respective devices; and launching,on each of the respective devices, the selected interactive gamingapplication.
 14. A method according to claim 13 wherein a further deviceis selected from the respective devices depending upon one or morefactors selected from the group comprising: preferences or criteriaspecified by a user of that further device, interactions between a userof that further device and one or more software applications that havepreviously been launched or run on that further device, preferences orcriteria specified by a provider of the multimedia content, andpreferences or criteria specified by a provider of the interactivegaming application.
 15. A system for launching or running an interactivegaming application, the system comprising: a first device including oneor more processors configured to display multimedia content; amedia-analysis module executing on one or more processors of the firstdevice, the media-analysis module configured to determine one or moreattributes displayed within the multimedia content presented by thefirst device to identify an interactive gaming application to launch ona second device including one or more processors that is incommunication with the first device; and a service module, executing onthe one or more processors of the first device, configured to: selectthe interactive gaming application based on the determined one or moreattributes displayed within the multimedia content; transmit, over acommunications network, an instruction that automatically launches theselected interactive gaming application on the second device, andwherein the selected interactive gaming software is launched on thesecond device when a particular portion of the multimedia content isdisplayed by the first device; and modifying, by the service module ofthe first device, the interactive gaming application executing at thesecond device to incorporate content from the multimedia contentdisplayed by the first device into the interactive gaming application.16. The system of claim 15, the service module is further configured toselect the interactive gaming application responsive to at least one of:preferences, indications of previous interactions between a user and oneor more software applications, preferences specified by a provider ofthe multimedia content, and preferences specified by a provider of theinteractive gaming application.
 17. The system of claim 15, themedia-analysis module further configured to identify the multimediacontent responsive to at least one of programmatic metadata, aclosed-captioned file, and an audio file associated with the multimediacontent.
 18. The system of claim 15, the media-analysis module furtherconfigured to receive the programmatic data associated with multimediacontent.
 19. The system of claim 15, the media-analysis module furtherconfigured to receive the multimedia content and extract theprogrammatic data associated with the multimedia content from themultimedia content.
 20. The method according to claim 1, furthercomprising identifying the multimedia content.